package movilmax.sia_corp.action;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import utilidades.Cadena;

import movilmax.sia_corp.model.Departamento;
import movilmax.sia_corp.model.DetalleEvaluacion;
import movilmax.sia_corp.model.Empleado;
import movilmax.sia_corp.model.Evaluacion;
import movilmax.sia_corp.model.ListaLs;
import movilmax.sia_corp.model.Listax;
import movilmax.sia_corp.model.Usuario;
import apli.conectar.Conectar;
import apli.entidades.Asistencia;
import apli.procesos.PWimax;
import basedatos.Fecha;
import basedatos.Resultado;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

//import freemarker.core.ReturnInstruction.Return;

public class CargarEmpleados extends ActionSupport {

	/**
* 
*/
	private static final long serialVersionUID = 494310939868292102L;
	private Evaluacion evaluacion;
	private LinkedList<Evaluacion> rpt_lista;
	private String nombre;
	private String id;
	private String scrit;
	private LinkedList<ListaLs> lst_emple;
	private List<Listax> empleadoS;
	private List<Listax> empleados;
	private List<Listax> gerentes;
	private List<Listax> presidentes;
	private Conectar BASE;
	private Usuario USUARIO;
	private Empleado empleado;
	private Empleado gerente;
	private Empleado presidente;
	private Departamento departamento = new Departamento();
	private Fecha FECHA;
	private int totalEvaluaciones = 0;
	private double totalGeneral = 0.00d;
	private double porcentajeTotal = 0.00d;
	private String validar;
	private String SQL;
	 
	private String opc ;
	
	@SuppressWarnings("rawtypes")
	public String cargarEmpleados() {
			Map session = ActionContext.getContext().getSession();
			USUARIO = (Usuario) session.get("ses_usuario");
			empleados = new ArrayList<Listax>();
			
			if(USUARIO==null){
				this.addActionError("La sesion del usuario ha caducado" ); 
				return ERROR;
			}
			if (departamento == null) {
				return SUCCESS;
			}
			
			try {
					if(USUARIO.getJerarquia().equals("EMPLEADO")){
						SQL = "SELECT E.codigo, (E.nombres+' '+E.apellidos)as empleado FROM empleados E, departamentos D WHERE E.departamento = D.cod AND D.cod='"+departamento.getCod()+"' AND E.codigo='"+USUARIO.getCodEmpleado()+"' AND E.activo='1'";
					}if(USUARIO.getJerarquia().equals("GERENTE GENERAL")){
						SQL=" SELECT E.codigo, (E.nombres+' '+E.apellidos)as empleado FROM empleados E, departamentos D WHERE E.departamento = D.cod AND D.cod='"+departamento.getCod()+"' AND E.activo='1' ";
					}else{
						SQL = "SELECT E.codigo, (E.nombres+' '+E.apellidos)as empleado FROM empleados E, departamentos D WHERE E.departamento = D.cod AND D.cod='"+departamento.getCod()+"' AND E.activo='1' ";
					}
					
					Resultado RCS = BASE.getBaseDatos().consultar(SQL);
					if (RCS.RP) {
						do {
							Listax LST = new Listax();
							LST.setCod(RCS.getCadena("codigo"));
							LST.setDescripcion(RCS.getCadena("empleado"));
							empleados.add(LST);
						} while (RCS.sigItem());
					}
					return SUCCESS;
			} catch (Exception e) {
				return ERROR;
			}
	}
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public String cargarEmpleadosSup(){
		Map session = ActionContext.getContext().getSession();
		USUARIO = (Usuario) session.get("ses_usuario");
		empleados = new ArrayList<Listax>();
		if(USUARIO==null){
			this.addActionError("La sesion del usuario ha caducado" ); 
			return ERROR;
		}
		try {
			if(USUARIO.getJerarquia().equals("GERENTE")){
				SQL="SELECT J.codigo as cod_jefe,E.codigo,(E.nombres+' '+E.apellidos) as empleado "+ 
					"FROM empleados E,departamentos D,departamentos_jefes J "+
					"WHERE E.activo='1' and J.empleado='"+ USUARIO.getCodEmpleado() +"' and J.mostrar='1' and D.activo='1' and D.cod=J.departamento and E.departamento=J.departamento "+
					"ORDER BY empleado";
			}else if(USUARIO.getJerarquia().equals("EMPLEADO")){
				SQL="SELECT E.codigo,(E.nombres+' '+E.apellidos)as empleado FROM empleados E WHERE E.codigo='"+USUARIO.getCodEmpleado()+"' AND E.activo='1' ";
			}	
			//System.out.println(SQL);
			Resultado RCS = BASE.getBaseDatos().consultar(SQL);
			if(RCS.hayRegistros()){
				if(USUARIO.getJerarquia().equals("GERENTE")){
					USUARIO.setCod_empjefe(RCS.getCadena("cod_jefe"));
				}else{
					USUARIO.setCod_empjefe("0");
				}
				session.put("ses_usuario", USUARIO);
				do{
					Listax LST = new Listax();
					LST.setCod(RCS.getCadena("codigo"));
					LST.setDescripcion(RCS.getCadena("empleado"));
					empleados.add(LST);
				}while(RCS.sigItem());
			}
			return SUCCESS;
		}catch (Exception e){
			return ERROR;
		}
   }

	@SuppressWarnings("rawtypes")
	public String cargarEmpleadosRpt() {
		Map session = ActionContext.getContext().getSession();
		USUARIO = (Usuario) session.get("ses_usuario");
		empleadoS = new ArrayList<Listax>();
		
		if(USUARIO==null){
			this.addActionError("La sesion del usuario ha caducado" ); 
			return ERROR;
		}
		
		if (departamento == null) {
			return SUCCESS;
		}
		
		try {
					SQL = "SELECT E.codigo, (E.nombres+' '+E.apellidos)as empleado FROM empleados E, departamentos D WHERE E.departamento = D.cod AND D.cod='"+departamento.getCod()+"'";
				if(USUARIO.getJerarquia().equals("EMPLEADO")){
					SQL = "SELECT E.codigo, (E.nombres+' '+E.apellidos)as empleado FROM empleados E, departamentos D WHERE E.departamento = D.cod AND D.cod='"+departamento.getCod()+"' AND E.codigo='"+ USUARIO.getCodEmpleado() +"'";
					
				}
				if(USUARIO.getJerarquia().equals("GERENTE")){
					SQL = "SELECT E.codigo, (E.nombres+' '+E.apellidos)as empleado FROM empleados E, departamentos D WHERE E.departamento = D.cod AND D.cod='"+USUARIO.getDepartamento().getCod()+"'";
				}
				Resultado RCS = BASE.getBaseDatos().consultar(SQL);
				if (RCS.RP) {
					do {
						Listax LST = new Listax();
						LST.setCod(RCS.getCadena("codigo"));
						LST.setDescripcion(RCS.getCadena("empleado"));
						empleadoS.add(LST);
					} while (RCS.sigItem());
				}
				return SUCCESS;
		} catch (Exception e) {
			return ERROR;
		}
}
	

	@SuppressWarnings("rawtypes")
	public String listarGerentes() {
		gerentes = new ArrayList<Listax>();
		Map session = ActionContext.getContext().getSession();
		USUARIO = (Usuario) session.get("ses_usuario");
		if(USUARIO==null){
			this.addActionError("La sesion del usuario ha caducado" ); 
			return ERROR;
		}
		if (departamento == null) {
			return SUCCESS;
		}

		//String SQL = "SELECT E.codigo, (E.nombres+' '+E.apellidos)as gerente FROM empleados E, departamentos D WHERE E.departamento = D.cod AND D.cod='"+ departamento.getCod() + "' AND E.jerarquia='GERENTE' ";
		  String SQL= "SELECT  E.codigo, E.nombres+' '+E.apellidos as gerente FROM usuarios U, departamentos D, empleados E WHERE D.supervisor=U.usuario AND U.cod_empleado=E.codigo AND D.cod='"+departamento.getCod()+"'  AND E.activo='1' ";
		// System.out.println("//***************"+SQL+"***************");
		Resultado RCS = BASE.getBaseDatos().consultar(SQL);
		if (RCS.RP) {
			do {
				Listax LST = new Listax();
				LST.setCod(RCS.getCadena("codigo"));
				LST.setDescripcion(RCS.getCadena("gerente"));
				gerentes.add(LST);
			} while (RCS.sigItem());
		}
		return SUCCESS;
	}

	@SuppressWarnings("rawtypes")
	public String listarCargarPresidente() {
		presidentes = new ArrayList<Listax>();
		Map session = ActionContext.getContext().getSession();
		Usuario USUARIO = (Usuario) session.get("ses_usuario");
		if(USUARIO==null){
			this.addActionError("La sesion del usuario ha caducado" ); 
			return ERROR;
		}
		String SQL = "  SELECT E.codigo, (E.nombres+' '+E.apellidos)as presidente FROM empleados E WHERE E.jerarquia='GERENTE GENERAL' ";
		// System.out.println(SQL);
		Resultado RCS = BASE.getBaseDatos().consultar(SQL);
		if (RCS.RP) {
			do {
				Listax LST = new Listax();
				LST.setCod(RCS.getCadena("codigo"));
				LST.setDescripcion(RCS.getCadena("presidente"));
				presidentes.add(LST);
			} while (RCS.sigItem());
		}
		return SUCCESS;
	}

	@SuppressWarnings("rawtypes")
	public String cargarGrupoEmpleados() {

		lst_emple = new LinkedList<ListaLs>();
		Map session = ActionContext.getContext().getSession();
		Usuario USUARIO = (Usuario) session.get("ses_usuario");
		if (USUARIO == null) {
			this.addActionError("La sesion del usuario ha caducado");
			return ERROR;
		}
		BASE = new Conectar();
		if (!BASE.getMsg().equals("SI")) {
			this.addActionError("No hay conexion al servidor");
			return ERROR;
		}
		
		
		String SQL = "SELECT D.cod,D.descripcion as departamento FROM departamentos D ";
		
		if(USUARIO.getJerarquia().equals("GERENTE") || USUARIO.getJerarquia().equals("EMPLEADO")){
			SQL=" SELECT D.cod,D.descripcion as departamento FROM departamentos D WHERE D.cod='"+  USUARIO.getDepartamento().getCod() +"' ";
		}
			
		Resultado RCS_D = BASE.getBaseDatos().consultar(SQL);
		if (RCS_D.RP) {
			do {
				String cod_dep = RCS_D.getCadena("cod");
				SQL = "SELECT E.codigo, E.identificacion, E.tipodoc, E.docid, (E.nombres+' '+E.apellidos) as descripcion, E.sexo, E.telefono, E.celular, E.email, E.fnacimiento, E.zona, E.ciudad, E.tipoinmueble, E.avcalle, E.municipio, E.nacionalidad, D.descripcion as departamento, E.extension, E.email, E.oficina, E.jerarquia, E.cargo FROM empleados E, departamentos D WHERE E.departamento=D.cod AND E.activo=1 AND E.departamento='"+cod_dep+"'  AND E.activo='1' ";
				if(USUARIO.getJerarquia().equals("EMPLEADO")){
					SQL = "SELECT E.codigo, E.identificacion, E.tipodoc, E.docid, (E.nombres+' '+E.apellidos) as descripcion, E.sexo, E.telefono, E.celular, E.email, E.fnacimiento, E.zona, E.ciudad, E.tipoinmueble, E.avcalle, E.municipio, E.nacionalidad, D.descripcion as departamento, E.extension, E.email, E.oficina, E.jerarquia, E.cargo FROM empleados E, departamentos D WHERE E.departamento=D.cod AND E.activo=1 AND E.departamento='"+cod_dep+"' AND E.codigo='"+ USUARIO.getCodEmpleado()+"'  AND E.activo='1' ";
				}
				Resultado RCS = BASE.getBaseDatos().consultar(SQL);
				if (RCS.RP) {
					ListaLs emp = new ListaLs();
					emp.setTitulo(RCS_D.getCadena("departamento"));
					do {
						emp.agregar(RCS.getCadena("codigo"),
								RCS.getCadena("descripcion"));
					} while (RCS.sigItem());
					lst_emple.add(emp);
					RCS.liberar();
				}
			} while (RCS_D.sigItem());
		}

		if (id == null)
			this.setId(this.getNombre());

		BASE.getBaseDatos().cerrarConexion();
		return SUCCESS;
	}
	//****************************REPORTE EVALUACION DE MOTIVACION
	@SuppressWarnings("rawtypes")
	public String reporteMotivacion() throws Exception {
		rpt_lista = new LinkedList<Evaluacion>();
		BASE=new Conectar();
		Resultado RCS= new Resultado();
		Resultado RCS_T= new Resultado();
		Resultado RCS_D = new Resultado();
		Map session = ActionContext.getContext().getSession();
		Usuario USUARIO = (Usuario) session.get("ses_usuario");
		if(USUARIO==null){
			this.addActionError("La sesion del usuario ha caducado" ); 
			return ERROR;
		}
		
		scrit="";
		if(!departamento.getCod().equals("-1")){
			scrit="AND D.cod='"+departamento.getCod()+"'";
		}
		if(!empleado.getCodigo().equals("-1")){
			scrit="AND EM.codigo='"+empleado.getCodigo()+"'";
		}
		
		//contar autoevaluaciones
		
		
		try {
			SQL="SELECT COUNT(E.codigo)as total FROM evaluaciones_personal E, departamentos D, empleados EM WHERE E.empleado=EM.codigo AND EM.departamento=D.cod AND "+
				"E.empleado=E.evaluador "+scrit;
			//System.out.println("**************************"+SQL+"*******************");
			RCS=BASE.getBaseDatos().consultar(SQL);
			if(RCS.RP){
				totalEvaluaciones=RCS.getInt("total");
			}
			
			SQL="SELECT E.codigo,(EM.nombres+' '+EM.apellidos)as empleado FROM evaluaciones_personal E, departamentos D, empleados EM WHERE E.empleado=EM.codigo AND "+
				" EM.departamento=D.cod AND E.empleado=E.evaluador  AND EM.activo='1' "+scrit;
			RCS=BASE.getBaseDatos().consultar(SQL);
			if(RCS.RP){
				do{
					evaluacion=new Evaluacion();
					evaluacion.setCod(RCS.getCadena("codigo"));
					evaluacion.setEmpleado(RCS.getCadena("empleado"));
					
					// -----------------CALCULAR X PREGUNTAS--------------//
					SQL = " SELECT SUM(R.ponderacion)as total FROM evaluaciones_personal E, detalles_evaluacion_personal DE, respuestas_evaluacion R WHERE "
							+ " E.codigo=DE.evaluacion AND DE.respuesta=R.cod AND DE.pregunta in (13,14,15,16,17,18,19,20,21,22) AND E.codigo='"
							+ evaluacion.getCod() + "'";
					RCS_T = BASE.getBaseDatos().consultar(SQL);
					if (RCS_T.RP) {
						evaluacion.setTotal(RCS_T.getInt("total"));
					}
					//---------------------------------------------------//
					evaluacion.setPocentaje((evaluacion.getTotal() * 100) / 30);
					totalGeneral = totalGeneral + evaluacion.getTotal();
					
					
					LinkedList<DetalleEvaluacion> list_detall = new LinkedList<DetalleEvaluacion>();
					SQL = "SELECT DE.cod,DE.evaluacion,P.descripcion as pregunta, R.descripcion as respuesta "+
							"FROM evaluaciones_personal E, detalles_evaluacion_personal DE, respuestas_evaluacion R, preguntas_evaluacion P, departamentos D, empleados EM "+ 
						  " WHERE E.empleado= EM.codigo AND DE.evaluacion=E.codigo AND DE.pregunta=P.cod AND DE.respuesta= R.cod AND EM.departamento=D.cod AND DE.pregunta in(13,14,15,16,17,18,19,20,21,22) "+  
						  " AND E.codigo='"+evaluacion.getCod()+"'";
					RCS_D = BASE.getBaseDatos().consultar(SQL);

					if (RCS_D.RP) {
						do {
							DetalleEvaluacion detalleE = new DetalleEvaluacion();
							detalleE.setCod(RCS_D.getCadena("cod"));
							detalleE.setEvaluacion(RCS_D
									.getCadena("evaluacion"));
							detalleE.setPregunta(RCS_D.getCadena("pregunta"));
							detalleE.setRespuesta(RCS_D.getCadena("respuesta"));
							list_detall.add(detalleE);
						} while (RCS_D.sigItem());
						evaluacion.setDETALLES(list_detall);
					}
					rpt_lista.add(evaluacion);
				}while(RCS.sigItem());
				
			}
			
			Cadena a = new Cadena();
			totalGeneral = a.redondear(totalGeneral / totalEvaluaciones,2);
			porcentajeTotal = totalGeneral * 100 / 30;
			porcentajeTotal= a.redondear(porcentajeTotal, 2);
			
			return SUCCESS;
		} catch (Exception e) {
	
			e.printStackTrace();
		}
		return SUCCESS;
	}
	

	@SuppressWarnings("rawtypes")
	public String consultarEvaluacion() throws Exception {
		try {
			FECHA = new Fecha();
			rpt_lista = new LinkedList<Evaluacion>();
			BASE = new Conectar();
			Resultado RCS = new Resultado();
			Resultado RCS_D = new Resultado();// detalle
			Resultado RCS_T = new Resultado();
			scrit = "";
			String cod_empleado_bda="";	
			Map session = ActionContext.getContext().getSession();
			Usuario USUARIO = (Usuario) session.get("ses_usuario");
			if(USUARIO==null){
				this.addActionError("La sesion del usuario ha caducado" ); 
				return ERROR;
			}
			if (!empleado.getCodigo().equals("-1")) {
				scrit = "AND EP.empleado='" + empleado.getCodigo() + "'";
				this.setValidar("true");
			}

			// contabilizar evaluaciones
			
			String SQL = " SELECT COUNT(EP.codigo) as total FROM empleados E, evaluaciones_personal EP WHERE EP.empleado= E.codigo AND EP.anulado=0 "+ scrit;
			RCS = BASE.getBaseDatos().consultar(SQL);
			if (RCS.RP) {
				totalEvaluaciones = RCS.getInt("total");
			}

			SQL = " SELECT EP.codigo,E.id_ext,(E.nombres+' '+E.apellidos)as empleado,(select a.nombres+' '+a.apellidos from empleados a where a.codigo=EP.evaluador)as evaluador,EP.fecha_registro as fecha, EP.hora_registro as hora,EP.observaciones FROM empleados E, evaluaciones_personal EP WHERE EP.empleado= E.codigo AND EP.anulado=0  AND E.activo='1'  "
					+ scrit ;
			RCS = BASE.getBaseDatos().consultar(SQL);
			if (RCS.RP) {
				do {
					evaluacion = new Evaluacion();
					evaluacion.setCod(RCS.getCadena("codigo"));
					evaluacion.setEmpleado(RCS.getCadena("empleado"));
					evaluacion.setEvaluador(RCS.getCadena("evaluador"));
					evaluacion.setFecha(FECHA.formateaFecha(RCS.getCadena("fecha"), false));
					evaluacion.setHora(RCS.getCadena("hora"));
					evaluacion.setObservaciones(RCS.getCadena("observaciones"));
					cod_empleado_bda=	RCS.getCadena("id_ext");
					// ------calcular totales y porcentaje por evaluacion-----//
					// --------------------------------CALCULO---------------------------------//
					// -----------------CALCULAR X PREGUNTAS--------------//
					SQL = " SELECT SUM(R.ponderacion)as total FROM evaluaciones_personal E, detalles_evaluacion_personal DE, respuestas_evaluacion R WHERE "
							+ " E.codigo=DE.evaluacion AND DE.respuesta=R.cod AND DE.pregunta in (1,2,3,4,5,6,7) AND E.codigo='"
							+ evaluacion.getCod() + "'";
					RCS_T = BASE.getBaseDatos().consultar(SQL);
					if (RCS_T.RP) {
						evaluacion.setTotal(RCS_T.getInt("total"));
					}
					// ---------------------------------------------------//
					// ----------------CALCULO X DESEMPE�O---------------//

					SQL = " SELECT SUM(R.ponderacion)as total FROM evaluaciones_personal E, detalles_evaluacion_personal DE, respuestas_evaluacion R, desempeno_evaluacion D "
							+ " WHERE E.codigo=DE.evaluacion AND D.detalle_evaluacion=DE.cod AND D.respuesta=R.cod AND DE.pregunta in (1,2,3,4,5,6,7) AND E.codigo='"
							+ evaluacion.getCod() + "'";
					RCS_T = BASE.getBaseDatos().consultar(SQL);
					if (RCS_T.RP) {
						evaluacion.setTotal(RCS_T.getInt("total")
								+ evaluacion.getTotal());
					}
					// --------------------------------------------------//
					evaluacion.setPocentaje((evaluacion.getTotal() * 100) / 56);

					totalGeneral = totalGeneral + evaluacion.getTotal();
					/* codigo para calcular las horas laboradas*/
					Cadena C=new Cadena();
					Conectar a = new Conectar(5);
					PWimax PW=new PWimax(a.getBaseDatos());	
					Fecha F=new Fecha(evaluacion.getFecha() );	
					Fecha F1=new Fecha( 1,F.getMes(),F.getAnno());
					Fecha F2=new Fecha( C.convertirInt( F.buscarDiasMes(F.getMes() ) ),F.getMes(),F.getAnno());
					Asistencia TTT=PW.resumenAsistencia(F1.getFecha(),F2.getFecha(),cod_empleado_bda);
					evaluacion.setTt_laborado(TTT.getHoras());
					evaluacion.setMes_laborado(F.buscarNombreMes(F.getMes()));
					 
					double porc=  C.redondear( ((C.convertirDoble(evaluacion.getTt_laborado() ) /160D)* 100D ),2);
					evaluacion.setPorc_laborado( C.convertirStr(porc ));
					/******************************/
					LinkedList<DetalleEvaluacion> list_detall = new LinkedList<DetalleEvaluacion>();
					SQL = "  SELECT DE.cod, DE.evaluacion, P.resumen as pregunta, R.descripcion as respuesta, DE.descripcion_respuesta, "
							+ " (select a.descripcion from respuestas_evaluacion a where a.cod=D.respuesta) as repDesemp, D.observacion as obsDesemp "
							+ " FROM detalles_evaluacion_personal DE, evaluaciones_personal E, preguntas_evaluacion P, respuestas_evaluacion R, desempeno_evaluacion D "
							+ " WHERE  DE.evaluacion=E.codigo AND DE.pregunta=P.cod AND DE.respuesta=R.cod AND D.detalle_evaluacion=DE.cod AND"
							+ " E.codigo='" + evaluacion.getCod() + "'";
					RCS_D = BASE.getBaseDatos().consultar(SQL);

					if (RCS_D.RP) {
						do {
							DetalleEvaluacion detalleE = new DetalleEvaluacion();
							detalleE.setCod(RCS_D.getCadena("cod"));
							detalleE.setEvaluacion(RCS_D
									.getCadena("evaluacion"));
							detalleE.setPregunta(RCS_D.getCadena("pregunta"));
							detalleE.setRespuesta(RCS_D.getCadena("respuesta"));
							detalleE.setDescripcionRespuesta(RCS_D
									.getCadena("descripcion_respuesta"));
							detalleE.setResDesempeno(RCS_D
									.getCadena("repDesemp"));
							if (RCS_D.getCadena("obsDesemp").length() == 0) {
								detalleE.setObsDesempeno("-----");
							} else {
								detalleE.setObsDesempeno(RCS_D
										.getCadena("obsDesemp"));
							}
							list_detall.add(detalleE);
						} while (RCS_D.sigItem());
						evaluacion.setDETALLES(list_detall);
					}
					rpt_lista.add(evaluacion);
				} while (RCS.sigItem());
				
				Cadena a = new Cadena();
				totalGeneral = a.redondear(totalGeneral / totalEvaluaciones,2);
				porcentajeTotal = totalGeneral * 100 / 56;
				porcentajeTotal= a.redondear(porcentajeTotal, 2);
				return SUCCESS;
			}
		} catch (Exception e) {
			this.addActionError(e.toString());
			return ERROR;
		}
		return SUCCESS;
	}
	
	
	
	
	
	
	

	public String getJSON() {
		BASE = new Conectar();
		if (BASE.getMsg().equals("SI")) {
			if(getOpc()==null){
				cargarEmpleados();
				listarGerentes();
				listarCargarPresidente();
				cargarEmpleadosRpt();
			}else if(getOpc().equals("1") ) {
				cargarEmpleadosSup();
			}
			
			BASE.getBaseDatos().cerrarConexion();
			return SUCCESS;
		} else {
			this.addActionError("No hay conexion al servidor");
			return ERROR;
		}

	}

	public Evaluacion getEvaluacion() {
		return evaluacion;
	}

	public void setEvaluacion(Evaluacion evaluacion) {
		this.evaluacion = evaluacion;
	}

	public LinkedList<Evaluacion> getRpt_lista() {
		return rpt_lista;
	}

	public void setRpt_lista(LinkedList<Evaluacion> rpt_lista) {
		this.rpt_lista = rpt_lista;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public LinkedList<ListaLs> getLst_emple() {
		return lst_emple;
	}

	public void setLst_emple(LinkedList<ListaLs> lst_emple) {
		this.lst_emple = lst_emple;
	}

	public List<Listax> getEmpleados() {
		return empleados;
	}

	public void setEmpleados(List<Listax> empleados) {
		this.empleados = empleados;
	}

	public List<Listax> getGerentes() {
		return gerentes;
	}

	public void setGerentes(List<Listax> gerentes) {
		this.gerentes = gerentes;
	}

	public List<Listax> getPresidentes() {
		return presidentes;
	}

	public void setPresidentes(List<Listax> presidentes) {
		this.presidentes = presidentes;
	}

	public Usuario getUSUARIO() {
		return USUARIO;
	}

	public void setUSUARIO(Usuario uSUARIO) {
		USUARIO = uSUARIO;
	}

	public Empleado getEmpleado() {
		return empleado;
	}

	public void setEmpleado(Empleado empleado) {
		this.empleado = empleado;
	}

	public Empleado getGerente() {
		return gerente;
	}

	public void setGerente(Empleado gerente) {
		this.gerente = gerente;
	}

	public Empleado getPresidente() {
		return presidente;
	}

	public void setPresidente(Empleado presidente) {
		this.presidente = presidente;
	}

	public Departamento getDepartamento() {
		return departamento;
	}

	public void setDepartamento(Departamento departamento) {
		this.departamento = departamento;
	}

	public double getTotalGeneral() {
		return totalGeneral;
	}

	public double getPorcentajeTotal() {
		return porcentajeTotal;
	}

	public void setPorcentajeTotal(double porcentajeTotal) {
		this.porcentajeTotal = porcentajeTotal;
	}

	public String getValidar() {
		return validar;
	}

	public void setValidar(String validar) {
		this.validar = validar;
	}

	public List<Listax> getEmpleadoS() {
		return empleadoS;
	}

	public void setEmpleadoS(List<Listax> empleadoS) {
		this.empleadoS = empleadoS;
	}

	public String getOpc() {
		return opc;
	}
	public void setOpc(String opc) {
		this.opc = opc;
	}
	
}
